<?php

	class DadosRecipiente{
		private $id;		
		public $campo;
		public $recipiente;
		public $valor;
		
		public function getCampo(){
			
			return $this->campo;
			
		} 
		
		public function setCampo($campo){
			
			$this->campo  = $campo;
			
		}
		
		public function getRecipiente(){
			
			return $this->recipiente; 
			
		}
		
		public function setRecipiente($recipiente){
			
			$this->recipiente=$recipiente;
			
		}
		
		public function getValor(){
			
			return $this->valor;
			
		}
		
		public function setValor($valor){
			
			$this->valor = $valor;
			
		}
		
		public function inserir(){
			$db = new conexao();
			$db->abrir();
			$sql="INSERT INTO `tipo_recipiente_dados` ( `tip_rec_campos_id`, `rec_id`, `tip_dados_desc`) VALUES 
  					(".$this->getCampo()->getId().",".$this->getRecipiente()->getId().",'".$this->getValor()."')";
			
			if($db->inserir($sql)){
				$db->fechar();
				return true;
			}
			
			else{
				$db->fechar();
				return false;
			}
			
			
		}
		public function alterar(){
			$db = new conexao();
			$db->abrir();
			$sql = "UPDATE tipo_recipiente_dados set tip_dados_desc ='".$this->getValor()."'
				where `tipo_recipiente_dados`.tip_dados_id=".$this->getId();
			if($db->inserir($sql)){
				return true;
				
			}else{
				return false;
				
			}
			
			
		}
		public function getListaDadosForRecipiente($recipiente,$association){
			$db = new conexao();
			$db->abrir();
			$sql = "";
			$listaDados = array();
			if(!$association){
				$sql = "select * from tipo_recipiente_dados trd
						where trd.rec_id = ".$recipiente->getId();
			}else{
				$sql = "select * from tipo_recipiente_dados trd
						inner join recipiente rec on rec.rec_id = trd.rec_id
						inner join tipo_rec_campos trc on trc.tip_rec_campos_id= trd.tip_rec_campos_id
						where trd.rec_id = ".$recipiente->getId();
			}
			$resultSet = $db->consulta($sql);
			
			while($linha = $db->get_linha($resultSet)){
				$listaDados[] = $this->parseResultSetForObj($linha,new DadosRecipiente(),$association);
			}
			
			return $listaDados;
		}
		public function parseResultSetForObj($linha,$obj,$association){
			$utilitario = new Utilitario();
			if(!$association){
				$obj = new DadosRecipiente();
				$obj->setId($linha["tip_dados_id"]);
				$obj->setValor($linha["tip_dados_desc"]);
				//seta recipiente
				$recipiente = new Recipiente();
				$recipiente->setId($linha["rec_id"]);
				$obj->setRecipiente($recipiente);
				//seta campo
				$campo = new Campo();
				$campo->setId($linha["tip_rec_campos_id"]);
				$obj->setCampo($campo);
			}else{
				$obj = new DadosRecipiente();
				$obj->setId($linha["tip_dados_id"]);
				$obj->setValor($linha["tip_dados_desc"]);
				//seta recipiente
				$recipiente = new Recipiente();
				$recipiente->setId($linha["rec_id"]);
				$recipiente->setDescRecipiente($linha["rec_desc"]);
				$recipiente->setCodigoBarra($linha["rec_cod"]);
				$recipiente->setDataCadastro($utilitario->convertDataDbParaPt($linha["rec_datacad"]));
				$recipiente->setRecEstado($linha["rec_estado"]);
				$nivel = new Nivel();
				$nivel->setId($linha["niv_id"]);
				$recipiente->setNivel($nivel);
				$obj->setRecipiente($recipiente);
				//seta campo
				$campo = new Campo();
				$tipoRecipiente = new TipoRecipiente();
				$tipoRecipiente->setId($linha["tip_rec_id"]);
				$campo->setId($linha["tip_rec_campos_id"]);
				$campo->setDescHTML($linha["tip_rec_campos_html"]);
				$campo->setTipo($linha["tip_rec_dado_tipo"]);
				$campo->setTipoRecipiente($linha["tip_rec_id"]);
				$campo->setDescCampo($linha["tip_rec_campos_desc"]);
				$obj->setCampo($campo);
			}
			return $obj;
			
		}
		public function setId($id){
			$this->id = $id;
		}
		public function getId(){
			return $this->id;	
		}
		
	}
?>
